﻿/*****************************************介绍*****************************************
 * 作者：User
 * 创建时间：2025-05-16 20:24:07
 * 功能：游戏事件名称定义
**************************************************************************************/

public class GameEventName
{
    #region 广告相关事件

    /// <summary>
    /// 广告显示成功时
    /// <para>参数1：广告类型，<see cref="EAdType"/></para>
    /// <para>参数2：触发广告类型，<see cref="ETriggerAdType"/></para>
    /// </summary>
    public const string ON_SHOW_SUCCESS_AD = "OnShowSuccessAdHanlde_GameEvent";
    /// <summary>
    /// 显示广告失败时
    /// <para>参数1：广告类型，<see cref="EAdType"/></para>
    /// <para>参数2：触发广告类型，<see cref="ETriggerAdType"/></para>
    /// </summary>
    public const string ON_SHOW_FAILED_AD = "OnShowFailedAdHanlde_GameEvent";
    /// <summary>
    /// 关闭广告时
    /// <para>参数1：广告类型，<see cref="EAdType"/></para>
    /// <para>参数2：触发广告类型，<see cref="ETriggerAdType"/></para>
    /// </summary>
    public const string ON_CLOSE_AD = "OnCloseAdHandle_GameEvent";
    /// <summary>
    /// 即将显示广告时，此时代表广告肯定做好了准备，并且肯定要进行展示的操作
    /// <para>参数1：广告类型，<see cref="EAdType"/></para>
    /// <para>参数2：触发广告类型，<see cref="ETriggerAdType"/></para>
    /// </summary>
    public const string ON_BE_ABOUT_TO_SHOW_AD = "OnBeAboutToShowAdHandle_GameEvent";

    #endregion

    #region 通知相关事件

    /// <summary>检测是否收到原生的通知</summary>
    public const string CHECK_NOTIFY = "OnCheckNotify_GameEvent";
    /// <summary>
    /// 处理通知
    /// <para>参数1：通知路径：跳转路径，类型：<see cref="string"/></para>
    /// </summary>
    public const string ON_HANDLE_NOTIFY = "OnHandleNotify_GameEvent";

    #endregion

    #region 玩家属性改变相关事件

    /// <summary>
    /// 当玩家金币发生变化时
    /// <para>参数1：变化前金币数量，类型：<see cref="long"/></para>
    /// <para>参数2：当前金币数量，类型：<see cref="long"/></para>
    /// </summary>
    public const string OnPlayerCoinsChanged = "OnPlayerCoinsChanged_GameEvent";
    /// <summary>
    /// 当玩家星星发生变化时
    /// <para>参数1：变化前星星数量，类型：<see cref="long"/></para>
    /// <para>参数2：当前星星数量，类型：<see cref="long"/></para>
    /// </summary>
    public const string OnPlayerStarChanged = "OnPlayerStarChanged_GameEvent";

    #endregion

    #region 购买相关事件

    /// <summary>
    /// 请求购买
    /// <para>参数：产品id，类型：<see cref="string"/></para>
    /// </summary>
    public const string REQUEST_BUY = "RequestInBuy_Purchase";
    /// <summary>
    /// 购买失败
    /// <para>参数：产品id，类型：<see cref="string"/></para>
    /// </summary>
    public const string BUY_FAILED = "BuyFailed_Purchase";
    /// <summary>
    /// 购买成功
    /// <para>参数1：产品id，类型：<see cref="string"/></para>
    /// <para>参数2：其他自定义数据，传入什么，返回什么，类型：<see cref="object"/></para>
    /// </summary>
    public const string SUCC_BUY = "SuccInBuy_Purchase";

    #endregion

    #region 关卡相关事件

    /// <summary>
    /// 当玩家生命数量发生变化时
    /// <para>参数：当前生命数量，类型：<see cref="int"/></para>
    /// </summary>
    public const string OnLifeCountChanged = "OnLifeCountChanged_GameEvent";

    /// <summary>
    /// 当提示道具可用次数发生变化时
    /// <para>参数：提示道具可用次数，类型：<see cref="int"/></para>
    /// </summary>
    public const string OnHintCountChanged = "OnHintCountChanged_GameEvent";

    /// <summary>
    /// 当刷新道具可用次数发生变化时
    /// <para>参数：刷新道具可用次数，类型：<see cref="int"/></para>
    /// </summary>
    public const string OnShuffleCountChanged = "OnShuffleCountChanged_GameEvent";

    /// <summary>
    /// 当炸弹道具可用次数发生变化时
    /// <para>参数：炸弹道具可用次数，类型：<see cref="int"/></para>
    /// </summary>
    public const string OnBombCountChanged = "OnBombCountChanged_GameEvent";

    /// <summary>
    /// 当添加时间道具可用次数发生变化时
    /// <para>参数：添加时间道具可用次数，类型：<see cref="int"/></para>
    /// </summary>
    public const string OnAddTimeCountChanged = "OnAddTimeCountChanged_GameEvent";

    /// <summary>
    /// 当前玩家正在进行的关卡发生改变时触发
    /// <para>参数：正在进行的关卡 <see cref="int"/></para>
    /// </summary>
    public const string OnCurLevelChanged = "OnCurLevelChanged_GameEvent";

    /// <summary>
    /// 当大厅的背景发生变化时触发
    /// <para>参数：图片信息 <see cref="GameDataModel.AssetInfo"/></para>
    /// </summary>
    public const string OnChangedHallBg = "OnChangedHallBg_GameEvent";

    #endregion

    #region 缓存相关事件
    public const string CACHE_VIDEO_PROGRESS = "OnCacheVideoProgress_GameEvent";
    public const string CACHE_VIDEO_COMPLATE = "OnCacheVideoComplate_GameEvent";
    #endregion

    #region 引导相关事件
    /// <summary>
    /// 当显示引导时触发
    /// <para>参数：必须的数据：<see cref="Game.UI.GuidePanel.GuideData"/></para>
    /// </summary>
    public const string GUIDE = "OnGuide_GameEvent";
    /// <summary>
    /// 当关闭引导时触发
    /// </summary>
    public const string HIDE_GUIDE = "HideGuide_GameEvent";
    #endregion

    #region 地图相关

    /// <summary>
    /// 当某个城市解锁时
    /// <para>参数：解锁的城市名称：<see cref="string"/></para>
    /// </summary>
    public const string OnCityUnlock = "OnCityUnlock_GameEvent";

    /// <summary>跳转到地图页面</summary>
    public const string JumpMapTab = "JumpMapTab_GameEvent";

    #endregion
}